package test.listener;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import lombok.extern.slf4j.Slf4j;
import test.domain.ZhuZi;

import java.util.ArrayList;
import java.util.List;

// 把下面这个类改成泛型的
@Slf4j
public class ZZListener<T> extends AnalysisEventListener<T> {
     private final List<T> data = new ArrayList<>();

    /**
     * 每解析一条数据都会触发一次invoke()方法
     * @param t
     * @param analysisContext
     */
    @Override
    public void invoke(T t, AnalysisContext analysisContext) {
        log.info("成功解析到一条数据：{}", t);
        data.add(t);
    }

    /**
     * 当一个excel文件所有数据解析完成后，会触发此方法
     * @param analysisContext
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        log.info("所有数据都已解析完毕！");
    }

    public List<T> getData(){
        return data;
    }
}
